home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 22
/
Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso
/
Aminet
/
dev
/
misc
/
gms_e.lha
/
GMSDev
/
Source
/
E
/
Screens
/
OBJScreen.e
< prev
next >
Wrap
Text File
|
1997-09-15
|
1KB
|
53 lines
/* Name: Object Demo
** Author: Paul Manias
** Copyright: DreamWorld Productions (c) 1996-1997. Freely distributable.
**
** Opens a screen according to the settings in an object file. See
** asm/Objects/OBJScreen.s for the object definitions.
*/
MODULE 'dpkernel','gms/dpkernel','graphics/pictures','files/files'
MODULE 'screens','system/register','system/modules','graphics/screens'
PROC main()
DEF screen=NIL:PTR TO screen, picture=NIL:PTR TO picture, objbase=NIL:LONG
DEF objfile:filename, scrmodule=NIL:PTR TO module
objfile := [ ID_FILENAME, 'GMS:demos/data/OBJ.Screen']:filename
IF dpkbase := OpenLibrary('GMS:libs/dpkernel.library',0)
SetUserPrefs(0);
IF (scrmodule := Init([TAGS_MODULE,NIL,
MODA_NUMBER, MOD_SCREENS,
MODA_TABLETYPE, JMP_AMIGAE,
TAGEND], NIL))
scrbase := scrmodule.modbase
IF (objbase := Load(objfile,ID_OBJECTBASE))
IF (picture := GetFileObject(objbase,'Picture'))
IF (Init(picture,NIL))
IF (screen := Get(ID_SCREEN))
CopyStructure(picture,screen)
screen.memptr1 := picture.data
screen.attrib := CENTRE
IF (Init(screen,NIL))
Display(screen)
WaitLMB()
Free(screen)
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
Free(picture)
Free(objbase)
Free(scrmodule)
CloseDPK()
ENDIF
ENDPROC